{{tag>Gutsy PS3 Partage UPnP}}

----

====== uShare : Serveur de médias UPnP et DLNA ======


===== Introduction =====

L'objectif est de se servir de notre PC comme serveur pour lire musique, vidéos et photos à partir de notre Xbox 360, Playstation 3(*), la Freebox Player ou notre Archos 605. De nombreux autres appareils peuvent aussi être utilisés pour la lecture, dont les streamers, ou d'autres PC du réseau. Pour cela nous allons utiliser l'application **uShare**.

uShare est un serveur média Libre (GPL) [[http://fr.wikipedia.org/wiki/Universal_Plug_and_Play#Serveurs_de_m.C3.A9dias_UPnP|UPnP]] et [[http://fr.wikipedia.org/wiki/Dlna|DLNA]]. Il implémente le composant serveur qui fournit les appareils en informations sur les fichiers multimédia disponibles. 

Nous allons installer uShare 1.1 compatible Debian/Ubuntu fourni par [[http://geexbox.org/fr/|Geexbox]] (Geexbox est un Centre Multimédia Linux).

<note important> 
  Aux utilisateurs de XBox360 : préférez utiliser [[pms-linux|PS3MediaServer]]. Ushare pose des problèmes pour l'instant avec certains fichiers avi.

 Aux utilisateurs de PS3 : préférez utiliser [[pms-linux|PS3MediaServer]] ou [[mediatomb|mediatomb]]. Ushare pose des problèmes pour l'instant avec certains fichiers avi.
</note>

==== Configuration Testée ====

^ Version                                  ^ FAT32                           ^ EXT3                            ^ EXT4 ^ NTFS |
| [[:Gutsy|Ubuntu 7.10 Gutsy Gibbon]]      |{{wiki:modeles:laptop_ok.png|OK}}|{{wiki:modeles:laptop_ok.png|OK}}| - |{{wiki:modeles:laptop_ok.png|OK}}|
| [[:Hardy|Ubuntu 8.04 Hardy Heron]]       |{{wiki:modeles:laptop_ok.png|OK}}|{{wiki:modeles:laptop_ok.png|OK}}| - |{{wiki:modeles:laptop_ok.png|OK}}|
| [[:Intrepid|Ubuntu 8.10 Intrepid Ibex]]  |{{wiki:modeles:laptop_ok.png|OK}}|{{wiki:modeles:laptop_ok.png|OK}}| - |{{icons:icon-support.png?32|?}}|
| [[:Jaunty|Ubuntu 9.04 Jaunty Jackalope]] |{{icons:icon-support.png?32|?}}  | {{icons:icon-support.png?32|?}} | - |{{icons:icon-support.png?32|?}}|
| [[:Karmic|Ubuntu 9.10 Karmic Koala]]     |{{wiki:modeles:laptop_ok.png|OK}}| {{icons:icon-support.png?32|?}} |{{wiki:modeles:laptop_ok.png|OK}}|{{icons:icon-support.png?32|?}}|
| [[:Lucid|Ubuntu 10.04 Lucid Lynx]]       |{{wiki:modeles:laptop_ok.png|OK}}  | {{wiki:modeles:laptop_ok.png|OK}} |{{wiki:modeles:laptop_ok.png|OK}}|{{wiki:modeles:laptop_ok.png|OK}}|
| [[:Lucid|Ubuntu 10.10 Maverick Meerkat]]       |{{wiki:modeles:laptop_ok.png|OK}}  | {{wiki:modeles:laptop_ok.png|OK}} |{{wiki:modeles:laptop_ok.png|OK}}|{{wiki:modeles:laptop_ok.png|OK}}|
| [[:Lucid|Ubuntu 11.04 Natty Narwall]]       |{{wiki:modeles:laptop_ok.png|OK}}  | {{wiki:modeles:laptop_ok.png|OK}} |{{wiki:modeles:laptop_ok.png|OK}}|{{wiki:modeles:laptop_ok.png|OK}}|
| [[:Lucid|Ubuntu 11.10 Oneiric Ocelot]]       |{{wiki:modeles:laptop_ok.png|OK}}  | {{wiki:modeles:laptop_ok.png|OK}} |{{wiki:modeles:laptop_ok.png|OK}}|{{wiki:modeles:laptop_ok.png|OK}}|
| [[:Lucid|Ubuntu 12.04 The Precise Pangolin]]       |{{wiki:modeles:laptop_ok.png|OK}}  | {{wiki:modeles:laptop_ok.png|OK}} |{{wiki:modeles:laptop_ok.png|OK}}|{{wiki:modeles:laptop_ok.png|OK}}|
| [[:Lucid|Ubuntu 12.10  The Quantal Quetzal]]       |{{icons:icon-support.png?32|?}}  | {{wiki:modeles:laptop_ok.png|OK}} |{{wiki:modeles:laptop_ok.png|OK}}|{{wiki:modeles:laptop_ok.png|OK}}|
===== Installation =====

==== A partir de Hardy Heron et suivant ====

La dernière version (1.1a à ce jour) se trouve dans les dépôts Universe. Activez-les et [[:tutoriel:comment_installer_un_paquet|installez simplement le paquet]] **[[apt://ushare|ushare]]**.

==== Sous Gutsy Gibbon et antérieur ====
[[:tutoriel:comment_modifier_sources_maj|Modifiez vos sources de mises à jour]] pour y ajouter le dépôt suivant :
<file>deb http://www.geexbox.org/debian/ unstable main</file>

Puis [[:tutoriel:comment_installer_un_paquet|on installe le paquet]] **[[apt://ushare|ushare]]**.

<note important>Il semblerait que uShare ne puisse pas être installé sous [[Feisty]]. Il y a des problèmes de dépendances non satisfaites, notamment **libupnp6** qui semblerait-il est introuvable dans les dépôts de Feisty.</note>


===== Configuration =====

==== Configuration basique en mode graphique ====

Dans un terminal on lance la commande suivante qui va permettre de configurer le partage :

<code>sudo dpkg-reconfigure ushare</code>

et on suit les étapes suivantes : 

{{application:ushare1.png|Nom du partage}}

ici on inscrit le nom qu'on veut donner au partage. Exemple : Alphonse

{{application:ushare2.png|Interface réseau utilisée}}

ici on choisit l'interface réseau utilisée pour la connexion réseau.

{{application:ushare3.png|Répertoires à partager}}

ici on inscrit le chemin d'accès au partage. Exemple : **/media/lecteurA/musique/**

On peut partager plusieurs dossiers se trouvant à des endroits différents. On séparera alors les chemins par une virgule ",". 
Exemple : **/media/lecteurA/musique,/media/lecteurB/videos**

pour activer partage : (et à chaque modification du /des dossier(s) partagé(s): ajout d'une video ou autre fichier afin de rendre visible sur FREEBOX V6)  
<code>sudo /etc/init.d/ushare restart</code>

Voilà pour ce qui est de la configuration.
==== Configuration avancée ====

La configuration de uShare se retrouve dans le fichier **/etc/ushare.conf**. On peut donc [[:tutoriel:comment_editer_un_fichier|éditer le fichier]] **/etc/ushare.conf** pour préparer/modifier le(s) partage(s).

Le fichier se présente comme suit :
<code bash>
# /etc/ushare.conf
# Edit this file with 'dpkg-reconfigure ushare'
# Configuration file for uShare

# uShare UPnP Friendly Name (default is 'uShare').
USHARE_NAME=Alphonse

# Interface to listen to (default is eth0).
# Ex : USHARE_IFACE=eth1
USHARE_IFACE=wlan0

# Port to listen to (default is random from IANA Dynamic Ports range)
# Ex : USHARE_PORT=49200
USHARE_PORT=49200

# Directories to be shared (space or CSV list).
# Ex: USHARE_DIR=/dir1,/dir2
USHARE_DIR=/media/lecteurA/musique,/media/lecteurB/videos,/media/lecteurB/images

# Use to override what happens when iconv fails to parse a file name.
# The default uShare behaviour is to not add the entry in the media list
# This option overrides that behaviour and adds the non-iconv'ed string into
# the media list, with the assumption that the renderer will be able to
# handle it. Devices like Noxon 2 have no problem with strings being passed
# as is. (Umlauts for all!)
#
# Options are TRUE/YES/1 for override and anything else for default behaviour
USHARE_OVERRIDE_ICONV_ERR=

# Enable Web interface (yes/no)
USHARE_ENABLE_WEB=no

# Enable Telnet control interface (yes/no)
USHARE_ENABLE_TELNET=no

# Use XboX 360 compatibility mode (yes/no)
USHARE_ENABLE_XBOX=yes

# Use DLNA profile (yes/no)
# This is needed for PlayStation3 to work (among other devices)
USHARE_ENABLE_DLNA=no
</code>

<note important>Attention ! Il se peut que les noms des quatre derniers paramètres du fichier soient erronés par défaut ("ENABLE_WEB" au lieu de "USHARE_ENABLE_WEB" par exemple). Si c'est le cas, corrigez-les, sans quoi ces paramètres ne seront pas pris en compte au lancement du programme.</note>

Si vous faites le choix = # Enable Web interface (yes/no) USHARE_ENABLE_WEB=yes
Vous pouvez paramétrer  les répertoires à partager via uShare UPnP Media Server par le biais de son interface Web. Cela permet de définir de nouveaux emplacements de contenus lors de l'exécution ou mettre à jour un nouveau média.
Se rendre sur son navigateur web :
<code bash>
http://localhost:port/web/ushare.html (le port est celui défini par USHARE_PORT. Généralement 49200 ou 49159)
</code>
=== Activer les caractères spéciaux (par exemple: les accents) ===
Il suffit de modifier le fichier de configuration /etc/ushare.conf afin que l'option "USHARE_OVERRIDE_ICONV_ERR" soit activée.
Mode automatique=>
<code bash>
sudo sed 's/USHARE_OVERRIDE_ICONV_ERR=\
/USHARE_OVERRIDE_ICONV_ERR=YES\
/' -i /etc/ushare.conf
</code>


==== Configuration du Pare-feu ====

Il vous faudra certainement configurer votre [[:pare-feu]] pour que tout fonctionne correctement. Pour faire cela il est recommandé d'utiliser [[:Firestarter]] qui est une interface graphique pour le pare-feu [[:iptables]] d'Ubuntu.

Avec [[:FireStarter]] il vous suffit d'aller sur l'[[:firestarter#onglet Politique]] et d'y ajouter une nouvelle règle pour autoriser le service uShare (port 49200 par défaut) quand la source est l'adresse IP de votre Playstation 3 (exemple : 192.168.2.40)
<note help>Ce n'est plus Firestarter qui est le pare-feu par défaut (inutile de l'installer), mais ufw que l'on gère en installant [[gufw|Gufw]]. Puis via le bouton Ajouter de Gufw et son onglet Avancé, on ajoute une règle du genre Allow Entrée TCP 192.168.1.15</note>
Pour l'utilisation avec la Freebox Revolution (V6), avec UFW, ajouter la règle de pare-feu: \\ 

  $ sudo ufw allow proto tcp from 192.168.1.29 to any

Ou directement avec iptables : 
  $ sudo iptables -A INPUT -p tcp -i eth0 --dport 49200 -j ACCEPT 
  $ sudo iptables -A INPUT -p udp -i eth0 --dport 49200 -j ACCEPT  
  $ sudo iptables -A INPUT -s 239.255.255.250 -p udp -i eth0 --dport 1900 -j ACCEPT 

''eth0'' doit être adapté à votre réseau (cela peut-être ''wlan0'', ''eth1'', ...)

===== Utilisation sur la Playstation 3 =====

Depuis la mise à jour en 1.8 du Firmware de la console, la PS3 est capable de se connecter à des serveurs DLNA3.

  * ajout du mer 2 Avril 2008, par Xrose
Attention, si lors de l'accès à vos fichiers, ceux-ci sont annoncés comme « Données Non compatibles », c'est que l'option USHARE_ENABLE_DLNA dans le fichier de configuration est sur « No ». Il faut donc  la modifier en « Yes ». Lors du lancement de Ushare, celui-ci répertorie alors les fichiers en conséquence.

==== Démarrage du Service ====

Dans un terminal tapez

<code>ushare -d -D</code>

-d pour Utiliser le mode de compatibilité DLNA pour PLAYSTATION 3

-D pour utiliser ushare en mode Démon  (processus)

<note help>
Si on lance uniquement 
<code>ushare -d</code>
Voici l'exemple d'un résultat qui s'affiche dans le terminal : 
<file>
uShare (version 1.0), un serveur mutlimédia UPnP léger.
Benjamin Zores (C) 2005-2007, pour l'équipe GeeXboX.
Voir http://ushare.geexbox.org/ pour les mises à jour.
Initialisation du système UPnP ...
Démarre en mode compatibilité DLNA ...
Serveur Multimédia UPnP en écoute sur 192.168.2.13:49200
Envoit des informations UPnP du périphérique ...
Attente de connexions ...
Création de la liste de données
Recherche des fichiers dans le répertoire de contenus : /media/media/musique/
Recherche des fichiers dans le répertoire de contenus : /media/media/videos/
Recherche des fichiers dans le répertoire de contenus : /media/media/
27345 fichiers et sous-répertoires trouvés.</file>

La commande reste "ouverte" dans le terminal, c'est pour cela qu'en rajoutant l'option -D (démon) la commande se lance sous forme de processus et on revient à l'invite du Terminal</note>

On doit donc retrouver le contenu de nos partages sur les serveurs Multimédia : Photo, Musique et Vidéo.

==== Formats vidéos supportés par la PS3 ====

  * Format vidéo Memory Stick :
    * MPEG-4 SP (AAC LC)
    * H.264/MPEG-4 AVC Main Profile (AAC LC)
  * Format de fichier MP4 :
    * H.264/MPEG-4 VAC High Profile (AAC LC)
  * MPEG-1 (MPEG Audio Layer 2)
  * MPEG-2 PS (MPEG2 Audio Layer 2, AAC LC, AC3 (Dolby Digital), LPCM)
  * MPEG-2 TS (MPEG2 Audio Layer 2)
  * AVI :
    * Motion JPEG (Linear PCM)
    * Motion JPEG (μ-Law)
  * AVCHD (.m2ts / .mts)

Ça y est, la PS3 peut lire les DivX, reste à voir quelles sont les contraintes de la lecture DivX.

Attention, suite à la mise en place du système de protection de droits Cinavia avec le logiciel système 3.41, il est possible que la console refuse de lire le son de certaines vidéos (y compris DivX) si celles-ci n'ont pas de DRM associé.
===== Utilisation avec la Xbox 360 =====

==== Premier tutorial ====

Avec les mises à jour de la Xbox 360 sur le live et celles de uShare, il est de plus en plus facile de visionner des vidéos sur sa télé en se servant de la Xbox.

Pour cela, suivez la paragraphe "Configuration basique en mode graphique" situé un peu plus haut.
Il n'est pas nécessaire, pour votre premier test, de modifier les règles de votre pare-feu. Cela fonctionne très bien sans.

Une fois la configuration terminée, ushare est bien actif et il suffit, sur votre Xbox d'aller dans l'onglet "multimédia" puis "Vidéos".
La dernière ligne est maintenant disponible et s'appelle Ushare (ou tout autre nom que vous avez donné lors de la configuration). Si votre Xbox vous met directement dans le répertoire "console", la touche X vous permet de changer de source afin de sélectionner le partage Ushare.

<note>Si vous avez un problème à utiliser uShare en "tache de fond(daemon)", utilisez le via le terminal:
  * Ouvrez un [[Terminal]] et tapez:

  ushare -x

Cela activera ushare avec l'option -x qui permet d'activer la prise en charge de la Xbox.

Fermez le terminal quand vous n'aurez plus besoin d'uShare.</note>

==== Deuxième tutorial à tester si des problèmes surviennent avec le premier tutorial ====

La Xbox 360 peut également utiliser les partages ushare. Le support de cette console n'est cependant pas parfait à l'heure actuelle : en effet, non seulement le fait de paramétrer "USHARE_ENABLE_XBOX=yes" dans le fichier ushare.conf ne fonctionne pas (aussi bien avec le démon qu'avec l'application), mais cela désactive la possibilité de l'activer manuellement en lançant le programme avec le paramètre "-x".

La solution est la suivante :
  - Commenter (mettre un # devant la ligne) le paramètre "USHARE_ENABLE_XBOX" dans le fichier **/etc/ushare.conf**
  - [[:tutoriel:comment_editer_un_fichier|Éditer le fichier]] **/etc/init.d/ushare**, en ajoutant USHARE_OPTIONS="-x" dans la liste des variables. Le début du fichier devrait alors ressembler à ceci :

<code bash>
#!/bin/sh -e
#
# uShare init script
#
### BEGIN INIT INFO
# Provides:          ushare
# Required-Start:    $local_fs $syslog $network
# Should-Start:
# Required-Stop:
# Should-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: uShare
# Description:       uShare UPnP (TM) A/V & DLNA Media Server
#                    You should edit configuration in /etc/ushare.conf file
#                    See http://ushare.geexbox.org for details
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/ushare
NAME=ushare
DESC="uShare UPnP A/V & DLNA Media Server"
PIDFILE=/var/run/ushare.pid
CONFIGFILE=/etc/ushare.conf
# On ajoute ici le paramètre de compatibilité Xbox 360
USHARE_OPTIONS="-x"

# abort if no executable exists
[ -x $DAEMON ] || exit 0

[...]
</code>

Le support Xbox 360 sera désormais activé (et fonctionnel !) à chaque démarrage du démon.

Si cela ne fonctionne toujours pas, suivez le troisième tutoriel de ce post [[http://ubuntuforums.org/showthread.php?t=632428|post]] Traduction cî-dessous

==== Troisième tutoriel à tester si des problèmes surviennent avec le deuxième tutoriel ====

Mettez votre Xbox 360 à jour en la connectant au "xBox Live".

Installez les libraires requises :

  sudo apt-get install libupnp-dev libdlna-dev

Téléchargez et décompressez les sources de Ushare :
Code :

  wget http://ushare.geexbox.org/releases/ushare-1.1a.tar.bz2
  tar -xvf ushare-1.1a.tar.bz2

Changez le fichier mime.c . Cela force à présenter les fichiers .avi comme des fichiers jouables sur la Xbox :

  cd ushare-1.1a/
  gedit src/mime.c

Changez cette ligne :

<file>
{ "avi",   UPNP_VIDEO, "http-get:*:video/x-msvideo:"},
</file>

Comme ça :
<file>
{ "avi",   UPNP_VIDEO, "http-get:*:video/x-ms-wmv:"},
</file>

Maintenant configure, make, et install :


  ./configure --log --prefix=/usr --sysconfdir=/etc --disable-dlna
  make
  sudo make install

Changez le fichier "/etc/ushare.conf" selon vos besoins. Vous devez indiquer le dossier de partage :

  sudo gedit /etc/ushare.conf

Démarrez Ushare avec la compatibilité Xbox :

  ushare -x


Sur votre Xbox, allez à "media", puis sélectionnez "video", appuyez sur le bouton "X" pour sélectionner votre source de media. La Xbox devrait trouver votre serveur ushare.

===== Utilisation avec l'Archos 605 Wifi =====

Le Archos 605 Wifi est lui aussi capable d'accéder à un réseau UPnP via sa connexion Wifi : une fois uShare correctement installé (cf [[ushare#Installation]]) et configuré (cf [[ushare#configuration]]), on le lance en tâche de fond :
<code> ushare -D </code>

//(le mode DLNA (option -d) conseillé pour la PS3 ne semble pas nécessaire pour l'Archos)//

Ensuite dans la section Photo, Vidéo ou Musique de l'Archos on sélectionne "Réseaux UPnP" et le partage devrait apparaître, donnant accès à tous les contenus du (des) répertoire(s) sélectionné(s) lors de la configuration.

NB : j'ai rajouté ushare dans le gestionnaire de session pour le lancer au démarrage et l'option -D ne semble alors pas nécessaire

===== Utilisation avec Lecteur LG BD390 =====

Une fois uShare correctement installé (cf [[ushare#Installation]]) et configuré (cf [[ushare#configuration]]), on le lance en tâche de fond en activant le mode de compatibilité DLNA avec l'option -d
<code> ushare -d -D </code>

Pour acceder à vos dossiers partagés lors de la configuration séléctionner Mes Medias dans l'interface du lecteur.

<note>La lecture des fichiers .mkv est impossible en wifi</note>

===== Utilisation avec une tablette Acer Iconia Tab A500 =====

Une fois uShare correctement installé (cf [[ushare#Installation]]) et configuré (cf [[ushare#configuration]]), on le lance en tâche de fond 
<code> ushare -D </code>

Par contre sur la tablette en question, seul Skifta fonctionne correctement.
===== Questions fréquentes =====

==== Encodage à la volée ====

** Existe-t-il des logiciels comme le logiciel Nero Media Home de Windows qui encodent à la volée? **

--Elisa doit le permettre, mais cela ne fonctionne pas encore aujourd'hui (bug)

--Vlc permet l'encodage à la volée, il est utilisé par Free pour le freeplayer (envoi de flux vidéo vers la Freebox)

--Mediatomb supporte l'encodage a la volée...


==== Initialisation ====

** Comment configurer ushare pour qu'il s'initialise au démarrage du pc. init.d ? ou via le gestionnaire de session ? **

Il semblerait qu'il y ait deux soucis avec le paquet installé:
  - le nom du script /etc/init.d/ushare qui entre en conflit avec l’exécutable
  - la priorité de démarrage (20 quand networking a une priorité de 40)
Une solution validée par l'auteur de cette section est:
  sudo update-rc.d -f ushare remove
  sudo mv /etc/init.d/ushare /etc/init.d/ushare.sh
  sudo update-rc.d ushare.sh defaults 80

Dans le cas ou cela ne marche toujours pas, notament si la connexion se fait par wifi et n'est pas immédiate, il peut être utile d'insérer une commande sleep 20 (pour attendre 20 secondes) dans le script /etc/init.d/ushare.sh juste avant la ligne  
      start-stop-daemon --start --quiet --background --oknodo \





----




 __**sous ubuntu 11.10 pour lancer ushare au demarrage vous ouvrez:**
__ 

  - ´´application au demarrage ´ 
  -  puis taper "ushare΅ dans nom
  - puis "ushare -d -D" dans commande




----

==== Solution pour faire fonctionner Ushare en wifi avec Network Manager en évitant les sleeps aléatoires ====

Le service ushare tel qu'il est fournit en tant que package ne marche que lorsque on n'utilise pas de wifi et que le réseau est disponible au démarrage de la serveur ushare


Ci-dessous une solution :
Installer le package standard
  sudo apt-get   install -y ushare


Supprimer le service en démarrage automatique pour le pas rentrer en conflit avec le démarrage automatique de session (voir ci-dessous)
  sudo update-rc.d -f ushare remove



Configurer le fichier ushare.conf en partageant les répertoires Vidéos, Images et Musique de l'utilisateur principal
  sudo sed -i "s/^USHARE_NAME=.*/USHARE_NAME=$(hostname)/g"  /etc/ushare.conf
  sudo  sed -i  "s|^USHARE_DIR=.*|USHARE_DIR=$(echo $HOME)\/Vidéos,$(echo $HOME)\/Images,$(echo $HOME)\/Musique|g" /etc/ushare.conf
  sudo sed -i "s|^USHARE_IFACE=.*|USHARE_IFACE=$(ip a |grep "inet " |awk '{print $NF}'|egrep -v "lo|vir"|head -1)|g" /etc/ushare.conf



Créer un tache de démarrage automatique sur la session de l'utilisateur principal 

  cat << EOF > ~/.config/autostart/ushare.desktop 
  
  [Desktop Entry]
  Type=Application
  Exec=ushare -D
  Hidden=false
  NoDisplay=false
  X-GNOME-Autostart-enabled=true
  Name[fr]=ushare
  Name=ushare
  Comment[fr]=
  Comment=
  EOF

===== Liens =====
  * [[http://ushare.geexbox.org/|Site officiel de ushare]]
  

----

//Contributeurs: [[utilisateurs:incoming|incoming]], [[utilisateurs:yvanxxx|yvanxxx]], [[utilisateurs:Drekky|Drekky]], [[utilisateurs:mocto|Mocto]].//